package com.example.util;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.method.HandlerTypePredicate;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration // 声明为 Spring 配置类，全局配置
public class WebConfig implements WebMvcConfigurer {
    // 添加跨域支持，省略掉 controller 中的 @CrossOrigin 注解（跨越支持 在前后端 只需要有一个，本项目对接前端已配置，故注释）
    // 本项目中，后端端口为 8888，前端端口为 9528
//    @Override
//    public void addCorsMappings(CorsRegistry registry) {
//        registry.addMapping("/**") // 允许所有路径
//                .allowedOrigins("http://localhost:9528") // 允许 9528 端口的请求
//                .allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的请求方法
//                .allowedHeaders("*"); // 允许所有的请求头
//    }

    // 配置 全局路径 的前缀
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        // 给所有的 @RestController 前缀加一个 LaborManageSystem 路径
        configurer.addPathPrefix("LaborManageSystem",
                HandlerTypePredicate.forAnnotation(RestController.class));
    }
}
